1. Field of the Invention
The present invention relates to a software development system and a software development method based on a business operating system. More particularly, the present invention relates to a software development system and a software development method based on a business operating system, which enable even a user ignorant about program language to produce an application software by defining document contents (for example, a document form interface display) and business logics necessary for business activities of an enterprise.
2. Description of the Related Art
Social and economic changes progress rapidly with the advent of digital economy. A significant number of problems have been encountered in conventional development tools or methodologies used in the field of software technology. Most of the problems are associated with development or production of a large-scale and complicated business software that requires a higher level of productivity. Although many development methods have been made, they still do not solve the problems.
One serious problem of the conventional methods is that software developers have much to do at their end. More specifically, in the course of software development utilizing a conventional software development procedure or tool, a developer receives instructions from a demander (for example, a business-working staff or a software designer) and operates a source coding operation for incorporating a business logic. Also, the developer should form functions necessary to implement the business logic individually for each unit module, for example, database I/O, hardware control, operating system control or security management.
One additional problem is that such conventional technical paradigm has two erroneous premises that make software development inefficient.
The first erroneous premise is that “a developer receives instructions from a demander.” In a typical course of development of a software, a business-working staff (mostly, a demander in the development of a business software) who has long-period experience and knowledge about work-site operation and clearly understands functions to be performed by a business software on demand gives instructions to a developer who handles complicated and difficult programming languages. As the demander and the developer have different expertises, miscommunication problem may entail. This problem may further be aggravated in a situation where substantial operations are entirely performed by a developer having no or less knowledge about important business logics. Likewise, it is impossible for a person with work-site knowledge to perform a source coding operation indispensable to an incorporation operation in software development.
As detailed below, the present invention gets rid of the premises of the conventional art. It brings an innovative change in the subject of software development and quality necessary for software development so that not an expert developer but a person having work-site business practical knowledge can play a central and essential role (it is not simply an increase of his/her role or responsibility in software development, but it means he/she practically produce a final software product).
The second erroneous premise of the conventional software development method is that “a developer should develop even unessential function of business software, for example database I/O, hardware control, operating system control or security management based on source code for each unit module.” Typically, functions commonly used to all of the modules and business logics are mixed in a source code of software. In many cases, it involves numerous repeated operations for incorporating similar functions or difficult maintenance and management, which reduces the efficiency of software production. For instance, if a module A, a component of software includes a source code for incorporating functions such as database I/O, hardware control, operating system control and if a module B needs similar functions, a coding operation is required again.
As detailed below, a business operating system (“BOS”; complete platform specialized in business application software) of the present invention provides a technical basis that will eliminate the need of such coding operation for incorporating functions, for example, database I/O, hardware control or operating system control. That is, a developer (it does not mean a software expert developer of the past, but a staff having work-site knowledge) does not have to control sub-elements of software, and is able to concentrate on the essence of business software, i.e. business process incorporation.
That is to say, the BOS of the present invention innovatively corrects the two erroneous premises of the conventional software development method, and realizes a new software development paradigm that a business-working staff having business logic knowledge serves as a developer and concentrates on design and incorporation of business logic to develop business software.
Table 1 analyzes properties of software development tools and methodologies used in 1960s and thereafter and those of software development operation utilizing the BOS according to the present invention.
TABLE 1The presentConventional development tools and methodologiesInventionDevelopmentStructuralInformationObject-Component-BOS utilitymethodmethodengineeringorientedbased methodMethodmethodmethodPeriod1960–19851985–19951995–2000sin the latePresent90s andthereafterMain modelsequentialDataobjectcomponentprocess andbusinesslogical businesslogiclogicTool3GL4GLCASECBD toolSoftwaredevelopmentdevelopmenttool,developmentlanguagelanguageobject-platform andorientedintegratedtoolauthoring toolDevelopmentprogramminguse ofutility ofS/Wintegrationandby codingprogrammingautomateddevelopmentperformance andoperationtool of GUItool bybymanagement oftypemethodconventionalcomponentdesign,sequentialgenerationdevelopment, test,developmentand assemblydocumentationmethodologyoperation utilizingspecializedoperating system-embeddedcomponent andplatformMainmain frameC/SInternetfunction unitC/S, Web, Mobiletechnicalenvironment,environment,spread,component,environmentenvironmentunit taskPCobject-J2EE andsimultaneouscomputerization,widespreadorientedCOM basedoperating support,softwarepopularization,language,technique,by businessengineeringenterprise-distributedweb servicesoftwarequickeningscaleobjecttechnique,specializedperiodinformationtechniqueapplicationintegrationsystem,serveroperating system,relational DBtechniqueintegration andautomation ofentire softwaredevelopmentprocessAdvantagesstandardizedtheoreticalsupport ofincrease ofdramatic increasegrammar,basis ofvariousproductionof softwarecommonlyinformationsoftwareefficiencydevelopmentutilizingengineeringdevelopmentthrough reuseproductivitytechnique,methodology,methodology,improvementthrough guaranteeverifiedrelativerealof perfect reusetechniqueconvenienceworldand reliability,of codingconceptualenable a businessoperation,modelknowledgerelativeutility,possessor to S/Wconvenienceutility ofdevelopmentof databaseentireoperation throughassociationdevelopmentrange expansion ofoperationcyclea developer, andmanagementeasy maintenancetechniqueand managementDisadvantagesdifficult torestrictednon-difficulty oflearn,grammar,standardizationcomponentdifficulty incomplicatedandgeneration,coding andcodingcomplicatedproblem ofmaintenanceoperation isinternalsecuringandrequiredcoding,componentmanagement,except forlots ofreliability,qualityoperationhand-difficulty ofdepends onpracticableoperation,maintenanceability ofby GUIqualityandspecializedmethod,depends onmanagementdeveloper,qualityability ofoperation,difficulty ofdepends onan expertcomponentuniformability of andeveloperassemblyqualityexpertneeds anmanagementdeveloperexpert's helpMainCOBOLPowerBuilderJavaMFC/CD,commercialBASIC CDelphiC++AURORA,productsVisual BasicUMLCOBALT,CORBACool: gen
Table 2 compares and analyzes properties of software development tools and methodologies used in 1960s and thereafter, and intrinsic design spirit of software development operation utilizing the BOS according to the present invention.
TABLE 2Conventional development toolThe present invention (fifth(third generation and fourthgeneration development toolgeneration development tool)provided by BOS)Target designFor programming, CPU, RAM orDevelops all of elementof developmentDB should be manipulated. But, itfunctions such as documents,toolis difficult for even an developerapproval, copier, or facsimileto directly control CPU, RAM ornecessary to perform generalDB with binary mechanicalbusiness as standard objectslanguage. Thus, by simplifyingbeforehand and provide them incommon language easy tothe type of perfect specializedunderstand, it requires languageoperating system. Therefore, adevised to communicate withprogram developer understandsmachine,business phenomenon to perform,The third generation and fourthand selects the correspondinggeneration development tools areobject and defines executionmade for this purpose and formedsequence and operation methodby combination of mechanicalto complete all programmingcontrol code necessary tooperation.developers.Object ofA developer should performBOS performs functions foroperation ofcoding operation on eachmanipulating CPU or DBdeveloperoperations and functions to berequired for ‘business standardperformed by CPU, RAM,objects’ to operate properly, andoperating system (O/S) or DBthus a developer need not tonecessary to implement anperform an operation (a codingapplication program.operation) related thereto andhave time and mind toconcentrate on business logicand process.Ability andA person ignorant of structure andIt is possible to enablequality requiredprinciple of CPU, RAM or DB isprogramming for a business-to developernot capable of programworking staff of or a persondevelopment operation. Only aunderstanding business logic asminority of developers withwell as experts of the businessaptitude and long-periodprocess. Development operationexperience is capable of programbased on ‘BOS’ according to thedevelopment operation.present invention changes theconcept of the word,‘programming’.Main object ofIt requires steady studying of ITIt eliminates the need for beingresearchbased technique such as operatinginterested in change of computersystem (O/S) or DBMS andoperating environment techniquestructure of hardware. Further, assuch as H/W, operating systemtechnique develops continuously(O/S) or DBMS, and allow toand new products are offered, itresearch industrial knowledgerequires research, studying andand know-how as factormastery of development tooldetermining function and qualityaccordingly.level of software, andoptimization of business process.
As described above, software development tool and methodology utilizing the BOS of the present invention is different from the conventional software development tools and methodologies, ranging from the basic foundation to quality required for a developer and an object of research to be conducted in the future.
The conventional development tools and methodologies described above have the problems as set forth below.
(1) Repetition of Similar Operations
For software development processes and products produced by the conventional tools and methodologies, source coding operations of similar content are required to be repeated in many times. A significant number of developers share similar operations with each other and repeatedly perform the similar operations.
For example, in order for a simple business software to be developed, developers should implement various modules including, for example, data registering module, data retrieving module, or data analyzing and processing module. As even one type module for registering and managing data needs many different program modules according to the type, kind, or character of data, developers should thus implement all of the modules individually.
Furthermore, modules for inputting any kind of data are different in number or array order of input data, but they are substantially similar to each other in terms of function to be implemented, incorporating method and work load. Besides, though a management module consisting of data input routine, correction routine, deletion routine, reference routine, and output routine has repeated the tedious coding operations from the beginning to the end in order to incorporate any small difference in function between each of the routines, in spite of similar content of source code and repetition of same operation.
Thus, to form a small unit system for use in practical business, generally the number of program modules required for development operation ranges from several tens to several hundreds. Accordingly, it is inevitable that a developer spends much time and efforts in software development operation, and his/her working hours and development time and costs increase by geometric progression according to function and size of a particular software.
(2) Difficulty of Maintenance and Management
A more serious problem of the conventional software development methods is that many program modules are implemented as mentioned above, and thus correction of a trifle error or application of small improvement involves a lot of operations in spite of similar function and source code. For example, in case the developer corrects a registration routine, he/she should perform the same correction operation on a correction routine or an output routine containing the same logic. At this time, in the case that the developer does not reflect the content to a module or a routine due to his/her carelessness, it can adversely affect the stability and reliability of the entire program. For this reason, excessive efforts and high costs are required to construct a new system and maintain and manage a developed system.
Consequently, according to the conventional methods, business value of software development tends to be lowered and quality and stability of product software are hard to maintain excellent.
(3) Reduction of Operational Efficiency and Performance of System Resource
In addition to the problems described above, operational efficiency and performance of system resource can be adversely affected.
In particular, an invasion phenomenon of disc space becomes serious due to overlapping storage and management of lots of program modules having similar functions. Also, program modules or routines of similar functions are repeatedly loaded on a CPU or a main memory, and thus abuses occur; for example, waste of core resource becomes serious and response and process time becomes longer.
In addition, in today's Internet environment, stored in a server are modules of application program as well as data, message and document included in organization and shared through network. In this circumstance, as lots of program modules having similar function are taken and received through the most expensive common resource, i.e. network communication net, serious problems occur; for example, the traffic amount increases by geometric progression and the processing capability and response speed of all of the system forming organization are reduced.
(4) Lack of Fundamental Solution and Crisis of the Whole Industry
One more problem is that in spite of above-mentioned serious problems in the software development and operation, most of development tool or development methodology widely spread and used in the market took this contradiction for grant so far. Rather, efforts have been made only to increase investment of hardware such as server equipments or networks by geometric progression. For this reason, software business remains unable to achieve what is planned and predicted. In addition, software consumers feel the quality of products insufficient and instable, and the developer continuously repeats simple operations and regards overwork and extended project period as ordinary working condition.
The information disclosed in this Background of the Invention section is only for enhancement of understanding of the background of the invention and should not be taken as an acknowledgement or any form of suggestion that this information forms the prior art that is already known to a person skilled in the art.